Self-Adjusting Programming

نویسندگان

  • Umut A. Acar
  • Guy E. Blelloch
  • Matthias Blume
  • Robert Harper
چکیده

This papers proposes techniques for writing self-adjusting programs that can adjust to any change to their data (e.g., inputs, decisions made during the computation) etc. We show that the techniques are efficient by considering a number of applications including several sorting algorithms, and the Graham Scan, and the quick hull algorithm for computing convex hulls. We show that the techniques are flexible by showing that self-adjusting programs can be trivially transformed into a kinetic programs that maintain their property as their input move continuously. We show that the techniques are practical by implementing a Standard ML library for kinetic data structures and applying the library to kinetic convex hulls. We show that the kinetic programs written with the library are more than an order of magnitude faster than recomputing from scratch. These results rely on a combination of memoization and dynamic dependence graphs. We show that the combination is sound by presenting a semantics based on abstraction of memoization via an oracle.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Implementing Implicit Self-Adjusting Computation

Computational problems that involve dynamic data have been an important subject of study in programming languages. Recent advances in self-adjusting computation have developed techniques that enable programs to respond automatically and efficiently to dynamic changes in their inputs. But these techniques have required an explicit programming style, where the programmer must use specific monadic...

متن کامل

Self-adjusting Computation with Delta ML

In self-adjusting computation, programs respond automatically and efficiently to modifications to their data by tracking the dynamic data dependences of the computation and incrementally updating the output as needed. In this tutorial, we describe the self-adjustingcomputation model and present the language ∆ML (Delta ML) for writing self-adjusting programs.

متن کامل

Programmable Self-Adjusting Computation

Self-adjusting computation is a paradigm for programming incremental computations that efficiently respond to input changes by updating the output in time proportional to the changes in the structure of the computation. This dissertation defends the thesis that high-level programming abstractions improve the experience of reading, writing, and reasoning about and the efficiency of self-adjustin...

متن کامل

A Consistent Semantics of Self-adjusting Computation

This paper presents a semantics of self-adjusting computation and proves that the semantics are correct and consistent. The semantics integrate change propagation with the classic idea of memoization to enable reuse of computations under mutation to memory. During evaluation, reuse of a computation via memoization triggers a change propagation that adjusts the reused computation to reflect the ...

متن کامل

A Randomized Self-Adjusting Binary Search Tree

We present algorithms for a new self-adjusting binary search tree, which we call a shuffle tree. The tree is easy to implement and does not require parent pointers or balancing information to be stored in tree nodes. A maximum of one rotation is probabilistically applied during each traversal, which keeps the cost of balancing activity low. We present tests to compare the performance of shuffle...

متن کامل

An Adaptive Self-adjusting Bandwidth Bandpass Filter without IIR Bias

In this paper we introduce a simple, computationally inxepentsive, adaptive recursive structure for enhancing bandpass signals highly corrupted by broad-band noise. This adaptive algorithm, enhancing input signals, enables us to estimate the center frequency and the bandwidth of the input signal. In addition, an important feature of the proposed structure is that the conventional bias existing ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005